import { computed, unref } from 'vue';
import { isNumber } from '/@/utils/is';
export function useItemLabelWidth(schemaItemRef, propsRef) {
    return computed(() => {
        const schemaItem = unref(schemaItemRef);
        const { labelCol = {}, wrapperCol = {} } = schemaItem.itemProps || {};
        const { labelWidth, disabledLabelWidth } = schemaItem;
        const { labelWidth: globalLabelWidth, labelCol: globalLabelCol, wrapperCol: globWrapperCol, layout } = unref(propsRef);
        // update-begin--author:sunjianlei---date:20211104---for: 禁用全局 labelWidth，不自动设置 textAlign --------
        if (disabledLabelWidth) {
            return { labelCol, wrapperCol };
        }
        // update-begin--author:sunjianlei---date:20211104---for: 禁用全局 labelWidth，不自动设置 textAlign --------
        // If labelWidth is set globally, all items setting
        if (!globalLabelWidth && !labelWidth && !globalLabelCol) {
            labelCol.style = {
                textAlign: 'left',
            };
            return { labelCol, wrapperCol };
        }
        let width = labelWidth || globalLabelWidth;
        const col = { ...globalLabelCol, ...labelCol };
        const wrapCol = { ...globWrapperCol, ...wrapperCol };
        if (width) {
            width = isNumber(width) ? `${width}px` : width;
        }
        return {
            labelCol: { style: { width: width ? width : '100%' }, ...col },
            wrapperCol: {
                style: { width: layout === 'vertical' ? '100%' : `calc(100% - ${width})` },
                ...wrapCol,
            },
        };
    });
}
